// wxapi.js
import wx from 'weixin-js-sdk'
import axios from '@/ajax'
import URL from '@/urlConfig'

const wxApi = {
    /**
     * [isweixin 判断是否微信浏览器]
     */
    isweixin() {
        let ua = navigator.userAgent.toLowerCase();
        if (ua.match(/MicroMessenger/i) == "micromessenger") {
            return true;
        } else {
            return false;
        }
    },
    /**
     * [wxRegister 微信Api初始化]
     * @param  {Function} callback [ready回调函数]
     */
    wxRegister(callback) {
        var location = window.location.href;
        if(location.indexOf('changeFriendType') != -1){
            // location = location.replace(/changeFriendType/, "indexs");//http://game.bjttsx.com/gameH5/"
            location ="http://"+window.location.host + "/gameH5/#/indexs";
        }
        let data = {url: location};
        axios.getRequest({
            url: URL.weixin.gameShare,
            type: "POST",
            data: data
        }, function (res) {
            let data = res.data;
            wx.config({
                debug: false, // 开启调试模式
                appId: data.appId, // 必填，公众号的唯一标识
                timestamp: data.timestamp, // 必填，生成签名的时间戳
                nonceStr: data.nonceStr, // 必填，生成签名的随机串
                signature: data.signature, // 必填，签名，见附录1
                jsApiList: [
                    'onMenuShareAppMessage', // 获取“分享给朋友”按钮点击状态及自定义分享内容接口
                    'onMenuShareTimeline' // 获取“分享到朋友圈”按钮点击状态及自定义分享内容接口
                ] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
            });
            wx.ready((res) => {
                // 如果需要定制ready回调方法
                if (callback) {
                    callback();
                }
            })
        });
    },
    /**
     * [ShareTimeline 微信分享到朋友圈]
     * @param {[type]} opstion [分享信息]
     * @param {[type]} success [成功回调]
     * @param {[type]} error   [失败回调]
     */
    ShareTimeline(opstion) {
        wx.onMenuShareTimeline({
            title: opstion.title, // 分享标题
            link: opstion.link, // 分享链接
            imgUrl: opstion.imgUrl, // 分享图标
            success() {
                // 用户成功分享后执行的回调函数
                opstion.success()
            },
            cancel() {
                // 用户取消分享后执行的回调函数
                opstion.error()
            }
        })
    },
    /**
     * [ShareAppMessage 微信分享给朋友]
     * @param {[type]} opstion [分享信息]
     * @param {[type]} success [成功回调]
     * @param {[type]} error   [失败回调]
     */
    ShareAppMessage(opstion) {
        console.log(opstion, '即将分享');
        // WeixinJSBridge.invoke('sendAppMessage',{
        // 	//"appid":appId,
        // 	"img_url":imgUrl,
        // 	//"img_width":"640",
        // 	//"img_height":"640",
        // 	"link":link,
        // 	"desc":desc,
        // 	"title":title
        // });
        wx.onMenuShareAppMessage({
            title: opstion.title, // 分享标题
            desc: opstion.desc, // 分享描述
            link: opstion.link, // 分享链接
            imgUrl: opstion.imgUrl, // 分享图标
            success() {
                // 用户成功分享后执行的回调函数
                opstion.success()
            },
            cancel() {
                // 用户取消分享后执行的回调函数
                opstion.error()
            }
        })
    },
    /**
     * [isWxAuth 微信授权]
     */
    isWxAuth() {
        let localUid = localStorage.getItem('localUid')
        let localToken = localStorage.getItem('localToken')
        if (!localToken) {
            let token = this.$route.query.token
            let uid = this.$route.query.uid
            if (token) {
                localStorage.setItem('localToken', token)
                localStorage.setItem('localUid', uid)
            } else {
                // 将url编码后传给后端，解决微信过滤Vue hash模式 #被过滤的问题
                var u = encodeURIComponent(window.location.href)
                window.location.href = hostName + '/wxpl/oauth?forwardUrl=' + u
            }
        }
    },
}
export default wxApi
